﻿using System.Collections.Generic;
using BSU.GraduateWork.Data.Model;

namespace BSU.GraduateWork.Data.Repositories.Interfaces
{
    public interface IRepository<T, TId> where T : IEntity<TId>
    {
        List<T> List();
        T Get(TId id);
        T Save(T entity, GraduateWorkDataContext context);
        T Update(T entity, GraduateWorkDataContext context);
        void Delete(T entity, GraduateWorkDataContext context);
        void Delete(TId id, GraduateWorkDataContext context);
        T Save(T entity);
        T Update(T entity);
        void Delete(T entity);
        void Delete(TId id);
    }
}